package com.zxj.friend.service.question;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zxj.common.core.domain.vo.PageVO;
import com.zxj.friend.domain.question.dto.QuestionPageQueryDTO;
import com.zxj.friend.domain.question.entity.Question;
import com.zxj.friend.domain.question.vo.QuestionDetailVO;
import com.zxj.friend.domain.question.vo.QuestionVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zxj2022
 * @since 2024-12-24
 */
public interface IQuestionService extends IService<Question> {

    /**
     * 分页查询问题列表
     * @param questionPageQueryDTO 分页查询条件
     * @return 问题列表
     */
    PageVO<QuestionVO> pageList(QuestionPageQueryDTO questionPageQueryDTO);

    /**
     * 查询问题详情
     * @param questionId 问题ID
     * @return 问题详情
     */
    QuestionDetailVO detail(Long questionId);

    /**
     * 获取上一题
     * @param questionId 问题ID
     * @return 上一题ID
     */
    String preQuestion(Long questionId);

    /**
     * 获取下一题
     * @param questionId 问题ID
     * @return 下一题ID
     */
    String nextQuestion(Long questionId);

    /**
     * 查询热门题目列表
     * @return 热门题目列表
     */
    List<QuestionVO> hotList();
}
